import { question } from "../../server/question";
import { file } from '../../server/file.js';

// pages/questionContent/questionContent.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        ptr: 0,
        pageNum: []
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log(options);
        let id = options.id;
        this.getQuestionContent(id);
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },

    /*
     * 返回上一页
     */
    returnMainPage() {
        wx.navigateBack({ delta: 1 });
    },

    // 获取题库内容
    getQuestionContent(id) {
        question.getQuestionContent(id).then(async (res) => {
            let pageNum = JSON.parse(res.data.pageNum).map(item => {
                return {
                    id: item,
                    imgUrl: ''
                };
            });
            let ptr = 0;
            for (let i = 0; i < pageNum.length && i < 5; i++) {
                let imgUrl = await file.downloadPublicFile(pageNum[i].id);
                pageNum[i].imgUrl = imgUrl.data.url;
                ptr = i;
            }
            this.setData({ pageNum, ptr });
        }).catch((err) => {
            wx.showToast({
                title: '请检查网络连接',
                icon: 'none',
                duration: 1000
            });
        });
    },
    async onSwiperChange(e) {
        console.log('当前轮播项索引：', e.detail.current);
        // 在这里可以添加其他逻辑
        let ptr = this.data.ptr;
        let old_ptr = this.data.ptr;
        let idx = e.detail.current;
        let pageNum = this.data.pageNum;
        if (idx > old_ptr - 1) {
            for (let i = old_ptr + 1; i < pageNum.length && i < old_ptr + 6; i++) {
                let imgUrl = await file.downloadPublicFile(pageNum[i].id);
                pageNum[i].imgUrl = imgUrl.data.url;
                ptr = i;
            }
        }
        this.setData({ pageNum, ptr });
    }
})